// store中间件（组件去操作的）
import axios from 'axios';


export default{
	// 状态属性，这里设置的变量，可以在组件里面调用到
	
	state:{
		newCate:[],
		newList:[],
		pn:1,
		cid:2,
		first:0,
		newDetail:{}		// 空的json对象
	},
	// 这个是用来修改state里面的变量值
	mutations:{
		munewCate(state,data){
			state.newCate = data
		},
		munewList(state,data){
			// 追加数据
			if(state.first==0){	// 记录列表的第一条新闻的主键ID
				state.first = data[0]['news_id'];	// 只有第一次会赋值
			}
			state.newList = state.newList.concat(data)		// 传值给组件
		},
		munewEmpty(state){
			state.newList = []
		},
		mucate(state,data){
			state.cid = data
		},
		munewDetail(state,data){
			state.newDetail = data
		}

	},
	// 可以包含任意异步操作,这里可以写异步请求（axios）
	actions:{
		acNewCate({commit,state}){
			// 异步请求 新闻分类
			axios({
				url:'/api/newCate',
				method:'get',
				data:''
			}).then(res=>{     // function(res){}
				console.log(res)
				commit('munewCate',res.data)
			})
		},
		acNewList({commit,state},cid){
			let pn = state.pn;
			// 异步请求 新闻列表
			axios({
				url:`/api/newList/${cid}/${pn}`,
				method:'get',
				data:''
			}).then(res=>{     // function(res){}
				console.log(res)
				commit('munewList',res.data)
			})
		},
		// 改变页码的
		acPn({commit,state},pn){
			state.pn = pn;
		},
		// 新闻详情
		acNewDetail({commit,state},id){
			// alert(id)
			// 异步请求 新闻列表
			axios({
				url:`/api/newDetail/${id}`,
				method:'get',
				data:''
			}).then(res=>{     // function(res){}
				console.log(res)
				commit('munewDetail',res.data)
			})
		},
		// 新闻点赞
		actLike({commit,state},like){
			var uid = like.uid
			var nid = like.nid
			// alert(uid+'+'+nid)
			// 异步请求 新闻列表
			axios({
				url:`/api/newLike/${uid}/${nid}`,
				method:'post',
				data:''
			}).then(res=>{     // function(res){}
				console.log(res)
				if(res.error==0){
					alert(res.msg)
					
				}
			})
		}
	}
}